import request from '@/utils/request'

// ==================== AI聊天管理 ====================

// 发送AI聊天消息
export function sendAiMessage(data) {
  return request({
    url: '/api/zenithMind/aiChat/send',
    method: 'post',
    data
  })
}

// 获取聊天历史
export function getChatHistory(params) {
  return request({
    url: '/api/zenithMind/aiChat/history',
    method: 'get',
    params
  })
}

// 创建新的聊天会话
export function createChatSession(data) {
  return request({
    url: '/api/zenithMind/aiChat/sessions',
    method: 'post',
    data
  })
}

// 获取聊天会话列表
export function getChatSessions(params) {
  return request({
    url: '/api/zenithMind/aiChat/sessions',
    method: 'get',
    params
  })
}

// 获取聊天会话详情
export function getChatSession(sessionId) {
  return request({
    url: `/api/zenithMind/aiChat/sessions/${sessionId}`,
    method: 'get'
  })
}

// 删除聊天会话
export function deleteChatSession(sessionId) {
  return request({
    url: `/api/zenithMind/aiChat/sessions/${sessionId}`,
    method: 'delete'
  })
}

// 清空聊天历史
export function clearChatHistory(sessionId) {
  return request({
    url: `/api/zenithMind/aiChat/sessions/${sessionId}/clear`,
    method: 'post'
  })
}

// ==================== AI模型配置 ====================

// 获取可用的AI模型
export function getAvailableModels() {
  return request({
    url: '/api/zenithMind/modelConfig/available',
    method: 'get'
  })
}

// 获取模型配置
export function getModelConfig(modelId) {
  return request({
    url: `/api/zenithMind/modelConfig/${modelId}`,
    method: 'get'
  })
}

// 获取模型能力
export function getModelCapabilities(modelId) {
  return request({
    url: `/api/zenithMind/modelConfig/${modelId}/capabilities`,
    method: 'get'
  })
}

// ==================== 聊天设置 ====================

// 获取用户聊天设置
export function getChatSettings() {
  return request({
    url: '/api/zenithMind/aiChat/settings',
    method: 'get'
  })
}

// 更新用户聊天设置
export function updateChatSettings(data) {
  return request({
    url: '/api/zenithMind/aiChat/settings',
    method: 'put',
    data
  })
}

// ==================== 聊天统计 ====================

// 获取聊天统计信息
export function getChatStats() {
  return request({
    url: '/api/zenithMind/aiChat/stats',
    method: 'get'
  })
}

// 获取公开统计信息
export function getPublicStats() {
  return request({
    url: '/api/zenithMind/aiChat/stats/public',
    method: 'get'
  })
}

// ==================== 聊天模板 ====================

// 获取聊天模板
export function getChatTemplates(params) {
  return request({
    url: '/api/zenithMind/aiChat/templates',
    method: 'get',
    params
  })
}

// 使用聊天模板
export function useChatTemplate(templateId, data) {
  return request({
    url: `/api/zenithMind/aiChat/templates/${templateId}/use`,
    method: 'post',
    data
  })
}

// ==================== 文件上传 ====================

// 上传聊天文件
export function uploadChatFile(formData) {
  return request({
    url: '/api/zenithMind/aiChat/upload',
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

// ==================== 语音聊天 ====================

// 语音转文字
export function speechToText(formData) {
  return request({
    url: '/api/zenithMind/aiChat/speech-to-text',
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

// 文字转语音
export function textToSpeech(data) {
  return request({
    url: '/api/zenithMind/aiChat/text-to-speech',
    method: 'post',
    data,
    responseType: 'blob'
  })
}
